package com.gonsin.gview.annotations.actions;

import java.lang.annotation.*;

/**
 * 注解 String 或者 List<String> 类型的参数，标记参数为文件名
 * 当且仅当 fileRequestType=file时有效
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface GFilename {

    /**
     * 如果是在header的上传按钮，则不需要填写
     * 如果是在表单里的@GFile 上传按钮，则需要填写@GFile对应的 keyName
     */
    String gFileKeyName() default "";

    /**
     *
     * 与 gFileKeyName 相同含义，只是一种简化版本的缩写。
     *
     * 如果是在header的上传按钮，则不需要填写
     * 如果是在表单里的@GFile 上传按钮，则需要填写@GFile对应的 keyName
     *
     * 总结：
     * 需要上传的文件名时，你有2种方式
     * 1、在@GFile 里写filenameKeyName，实现
     * 2、在方法 的参数前，写@Filename(对应的GFile的keyName)
     */
    String value() default "";

}
